$(document).ready(function() {

    if($("ul.current").find('li>a').offset()!=null){
        var ulSubOffsetLeft = $("ul.current").find('li>a').offset().left;
        var subCurrentWidth = $("ul.current").find('ul').width();
        var ulCurrentSubLeft = ulSubOffsetLeft - (subCurrentWidth/2) + ($("ul.current").find('li>a').width()/2);
        var menuLeft = $('#menubar').offset().left;
        var menuRight = $('#menubar').offset().left+$('#menubar').width();

        if(ulCurrentSubLeft<=menuLeft){
            ulCurrentSubLeft = menuLeft+10;
        }
        if(ulCurrentSubLeft>=menuRight){
            ulCurrentSubLeft = menuRight-10;
        }
        $("ul.current").find('ul').offset({
            left:ulCurrentSubLeft
        });
        
        var mark = $('.menu_r').offset().left;

        if(ulCurrentSubLeft+subCurrentWidth>mark){
            var newSubWidth = menuRight-ulCurrentSubLeft;
            $("ul.current").find('ul').width(newSubWidth);
        }
    }

    $("ul.select").mouseover(function() {
        $("div.table>ul.current>li>ul.sub_active").removeClass('sub_active').addClass('sub');
        var ulSelect = $(this);
        var ulSub = $(this).find('ul');
        var menuLeft = $('#menubar').offset().left;
        var menuRight = $('#menubar').offset().left+$('#menubar').width();
        var ulSubOffsetLeft = $(this).find('li>a').offset().left;
        var subWidth = $(ulSub).width();
        var ulSubLeft = ulSubOffsetLeft - (subWidth/2) + ($(this).find('li>a').width()/2);
  
        if($(this).find('ul.sub').offset()!=null){
            if($(this).find('ul').width()+$(this).find('ul').offset().left<$('#menubar').offset().left+$('#menubar').width()){
                if(ulSubLeft<=menuLeft){
                    ulSubLeft = menuLeft+10;
                }
                if(ulSubLeft>=menuRight){
                    ulSubLeft = menuRight-10;
                }
                $(ulSub).offset({
                    left:ulSubLeft
                });
                var mark = $('.menu_r').offset().left;

                if(ulSubLeft+subWidth>mark){
                    var newSubWidth = menuRight-ulSubLeft;
                    $(ulSub).width(newSubWidth);
                }
            }
        }
        $(ulSelect).removeClass('select').addClass('current');
        $(ulSub).removeClass('sub').addClass('sub_active');
    });

    $("ul.select").mouseout(function() {
        var ulSelect = $(this);
        var ulSub = $(this).find('ul');
        $(ulSub).removeClass('sub_active').addClass('sub');
        $(ulSelect).attr('class','select');
        $("div.table>ul.current>li>ul.sub").removeClass('sub').addClass('sub_active');
    });
});
